// Copyright 2023 Bloomberg Finance L.P.
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// mqbs_voidstorageiterator.t.cpp                                     -*-C++-*-
#include <mqbs_voidstorageiterator.h>

// MWC
#include <mwctst_testhelper.h>

using namespace BloombergLP;
using namespace bsl;

// ============================================================================
//                                    TESTS
// ----------------------------------------------------------------------------

TEST(functionality)
{
    mqbs::VoidStorageIterator it;
    ASSERT_EQ(it.atEnd(), true);
    ASSERT_EQ(it.advance(), false);
    ASSERT_EQ(it.guid(), bmqt::MessageGUID());
    ASSERT_EQ(it.attributes(), mqbi::StorageMessageAttributes());
}

// ============================================================================
//                                 MAIN PROGRAM
// ----------------------------------------------------------------------------

int main(int argc, char* argv[])
{
    mqbs::VoidStorageIterator().appData();  // Allocate the shared_ptr<Blob>

    TEST_PROLOG(mwctst::TestHelper::e_DEFAULT);

    mwctst::runTest(_testCase);

    TEST_EPILOG(mwctst::TestHelper::e_CHECK_DEF_GBL_ALLOC);
}
